Information Compression اطالعات 4-1-72-1 بخشششم دانشگاهشهيدبهشتی پژوهشکدهیفضایمجازی بهار 1397 احمدمحمودیازناوه http://faculties.sbu.ac.ir/~a_mahmoudi/
فهرستمطالب تبدیلکسينوسیصحيح تصاویرپایه ویژگیها پردازشبلوکیتصاویر چندیکردنضرائب) quantization ( استاندارد JPEG 2
تبدیلکسينوسیگسسته یکسيگنال N نمونهای ( x(n مفروضاست: y n x n x 2N 1 n x n n N 1 y n x 2N 1 n N n 2N 1 Otherwise x n x 2N 1 n DFT y n? 3
تبدیلکسينوسیگسسته)ادامه...( 4
متناوبکردنتصویر 5
تبدیلکسينوسیگسسته 2 1 2 1 N 1N 1 1 2 1, 2 1, 2, cos.cos ; m n 2N 2N C k k α k k f m n k N 1, k N 1, 1 2 π m k π n k 2 1 2 1 N 1N 1 1 2, 1, 2 1, 2 cos.cos ; m n 2N 2N f m n α k k C k k n N 1, m N 1 π m k π n k 1 k1 k2 N 1 N 1 α k1, k2 k2 k1 N 1 N 2 k1 N 1 k2 N 1 N 6
تصاویرپایه تصاویرپایهیکسينوسیبراییکبلوک 8x8 7
مثال ضرایب AC DC + y y 1 y 1 y 12 y 23 8
FFT و DCT برایتصویرابتداتصویربه»بلوکهایناهمپوشان«تقسيمشدهوسپسمؤلفههایکماهميتهربلوکدرفضای تبدیلحذفمیشوند. 9
FFT و DCT 1
DFT تغييراتناگهانیلبه )معادلفرکانسباال( DCT تغييراتنرم 11
مقادیرضرایبدر DCTحقيقیولیدر DFTمختلطند تقریببهتردر DCTبااستفادهازضرایبکمتر FFT /DCT http://www.cs.cf.ac.uk/dave/multimedia/node231.html 12
اهميتنسبیضرایبتبدیلکسينوسی 13
f = imread('cameraman.tif'); imshow(f,[ ]); J = dct2(f); figure; imshow(log(abs(j)),[ ]), colormap(gray), colorbar;title('dct2'); figure imshow(log(abs(j)),[ ]), colormap(jet(64)), colorbar;title('dct2'); K = idct2(j); figure;imshow(k,[ ]); مثال 14
f = imread('cameraman.tif'); imshow(f,[]); J = dct2(f); a=ones(size(f)); a(:,(size(f,2)/2):end)=; J2=J.*a; figure;imshow(log(abs(j2)),[]); K = idct2(j2); figure;imshow(uint8(k),[]); Diff=f-uint8(K); figure;imshow(diff,[]); مثال 15
f = imread('cameraman.tif'); imshow(f,[]); J = dct2(f); a=ones(size(f)); a((size(f,2)/2):end,:)=; J2=J.*a; figure;imshow(log(abs(j2)),[]); K = idct2(j2); figure;imshow(uint8(k),[]); Diff=f-uint8(K); figure;imshow(diff,[]); مثال 16
f = imread('cameraman.tif'); imshow(f,[ ]); J = dct2(f); a=ones(size(f)); a((size(f,2)/2):end,(size(f,2)/2):end) =; J2=J.*a; figure;imshow(log(abs(j2)),[ ]); K = idct2(j2); figure;imshow(uint8(k),[ ]); Diff=f-uint8(K); figure;imshow(diff,[ ]); مثال 17
f = imread('cameraman.tif'); imshow(f,[]); J = dct2(f); figure;imshow(log(abs(j)),[]); a=zeros(size(f)); for i=1:size(f,2)/2 for j=1:((size(f,2)/2)-i) a(i,j)=1; end end J2=J.*a; figure;imshow(log(abs(j2)),[]); K = idct2(j2); figure;imshow(uint8(k),[]); Diff=f-uint8(K); figure;imshow(diff,[]); مثال 18
و Blocking بلوکبندی دربسياریازکاربردهادرپردازشتصویر بلوکبندیتصویر رارق پردازش مورد بلوک هر آن از سپ و شده انجام میگيرد. اینمسألهسببمیشودبتوانبهصورتموازیبهروی تروص همزمان پردازش تصویر از کوچکتری بخشهای داد. بازدهسيستمافزایشیافته سرعتپردازشباالمیرود. معموال اندازهیبلوکهاتوانیازدواست. بستهبهکاربرداندازهاز 2 2 باالترمتغيراست. دربيشترموارد)استانداردها(اندازهیبلوکها 8 8 درنظر گرفتهمیشود. 19
siz=8; I = imread('cameraman.tif'); fun = @dct2; J = blkproc(i,[siz siz],fun); figure;imshow(i,[ ]); figure;imagesc(j), colormap(jet); fun = @idct2; I2 = blkproc(j,[siz siz],fun); figure;imshow(i2,[ ]); مثال 2
siz=16; I = imread('cameraman.tif'); fun = @dct2; J = blkproc(i,[siz siz],fun); figure;imshow(i,[ ]); figure;imagesc(j), colormap(jet); fun = @idct2; I2 = blkproc(j,[siz siz],fun); figure;imshow(i2,[ ]); 21
siz=16; I = imread('cameraman.tif'); fun = @dct2; J = blkproc(i,[siz siz],fun); figure;imshow(i,[]); figure;imagesc(j), colormap(hot); a=ones(siz);a(3:siz,3:siz)=; figure;imshow(a,[]); fun = @(x) (x).*a; J2 = blkproc(j,[siz siz],fun); figure;imagesc(j2), colormap(hot); fun = @idct2; I2 = blkproc(j2,[siz siz],fun); figure;imshow(i2,[]); 22
مثال 8x8 block implementation 23
siz=16;i = imread('cameraman.tif'); fun = @dct2; J = blkproc(i,[siz siz],fun); figure;imshow(i,[]); figure;imagesc(j), colormap(hot); a=zeros(siz);a(1:2,1:2)=1; figure;imshow(a,[]); fun = @(x) (x).*a; J2 = blkproc(j,[siz siz],fun); figure;imagesc(j2), colormap(hot); fun = @idct2; I2 = blkproc(j2,[siz siz],fun); figure;imshow(i2,[]); 24
کدگذاریدامنهیتبدیل مراحل اعمالتبدیلبهرویتصویر کدگذاریضرایبتبدیل ارسالدادهها بازسازیتصویربااستفادهازدادههایارسالی مزایا انرژیدرضرایبمحدودیفشردهشدهاست. مقاومتدربرابرخطاهایکانالارسالی 25
کدگذاری کدگذاری )Zonal ناحيهای) Coding تنهاناحيهایازضرایبارسالمیشود. )Threshold آستانهای) Coding تنهاضرایبیارسالمیشودکهازميزانآستانهباالترباشد. Zonal Coding 26
12 134 24 17 145 145 23 25 16 234 23 18 23 24 28 19 Compression!!! 36.25 14.8835-114.75-45.3384 1.27 62.2961-1.1577 3.175-111.75-6.299 99.25 5.445-55.7716 26.175-7.3678-16.7961 27
چندیکردن Quantization بهوسيلهیچندیکردنازدقتضرایبکسينوسی ریداقم به تبدیل که گونهای به میشود کاسته صحيحگردند. بیارض از بسياری که میشود باعث مساله این فرکانسهایباالبهصفرتبدیلگردند. آستانهایکهبااستفادهازآنچندیشدنصورت ی هجيتن که میشود انتخاب بهگونهای میپذیرد لباق انسان چشم برای ممکن حد تا بازسازی رویتنباشد. 28
Quantization= 4 مثال ضرایبکسينوسی محدودهیچندینمودن ضرایبچندیشده ضرایببازسازیشده 29
ضرایب DCT ماتریسچندیکننده ماتریسنتيجهیچندی شده ماتریسچندیکننده استانداردبرایبازسازی استفادهخواهدشد. 3
مراحلالگوریتم JPEG بلوکبندیتصاویر f i (m, n), f(m زیرتصویرهای 8 8 تصویر( n [,2 L فرضمیکنيممقادیرروشنایی[ 1 - g تبدیلمیشود: i بارابطهیزیربه f i هر g i (m, n)=f i (m, n)-2 L-1 31
مراحلالگوریتم JPEG )ادامه...( چگونگیالگوریتم بلوکبندیتصویر اعمالتبدیلگسستهیکسينوسی چندینمودنضرایب پویشزیگزاگضرایب کدگذاریآنتروپی ارسال 32
مراحلالگوریتم jpeg )ادامه...( g ورودیتبدیل DCTهستندکهنتيجهای i (m, n) D دارند. i (k 1, k 2 همانند( ماتریسچندیکنندهایدرنظرگرفتهشدهرابطهی زیربهدستمیآید: D ( 1, 2) ( k 1, k Di k k iq 2) round [ ] T ( k 1, k 2) مرتبنمودنزیگزاگ رمزگذاریمقادیر DC AC ميزانریزش 33
پویشضرایب پویشضرایببهصورتزیگزاگصورتمیپذیرد 34
کدگذاریمؤلفههای DC اختالفمولفههای DCبلوکهای متوالیکدمیشوند 35
Differential Pulse Code Modulation (DPCM) f (n) f (n) n f ( n) 156,157,158,158,156,156,154,154,155 f( n) 156,1,1,, 2,, 2,,1 n 36
Run-Level coding دراینشيوهیکدنمودنازتعدادصفرهاوعناصر غيرصفراستفادهمیشود: 12-33 -3-4 -2-1 21-3 2 1-2 -2-3 1-1 1 [-33, 21, -3, -2, -3, -4, -3,, 2, 1,, 1,, -2, -1, -1,,,, -2,,,,,,,,,,,, 1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] (,-33) (,21) (,-3) (,-2) (,3)(,-4) (,-3) (1,2) (,1) (1,1) (1,-2) (,-1) (,-1) (3,-2) (11,1) 37
(RUN, CAT) CAT is the category for the amplitude of a nonzero coefficient in the zigzag order, and RUN is the number of zeros preceding this nonzero coefficient 38
گروهبندیمقادیر Table is from slides at Gonzalez/ Woods DIP book website (Chapter 8) 39
Gonzalez, R. C. and R. E. Woods (22). Digital image processing Table is from slides at Gonzalez/ Woods DIP book website (Chapter 8) ضرایب DC ضرایب AC 4
Codeword for the DC coefficient DIFF = 31-28 = 3 CAT = 2 مثال DC CAT is 1 DIFF = 3 > the DC coefficient is 111 Codeword for the AC coefficients AC=18 the codeword for (, 5) is 111 AC=-21 11111 the codeword for (, 5) is 111 11111 AC 41
مثال Ghanbari, M. a (23). Standard codecs: image compression to advanced video coding, Institution of Electrical Engineers. قطاربيتارسالیبرایضرایب AC تعدادبيتهایارسالی 85 بيت 42
43
44
مقایسهیتصویر MSE برایمقایسهیتصویربهترینمعيارمشاهدهیآن است M 1N 1 m n f ( m, n) fˆ( m, n) MN 2 معيارکيفیاست وابستهبهاحساسبشر معيارکمی مجموعمربعاتخطا) MSE ( نسبتتوانسيگنالبهنویز) SNR ( SNR M 1N 1 m n M 1N 1 m n f ( m, n) f ( m, n) fˆ( m, n) 2 2 45
Quality Metrics PSNR peak signal-to-noise ratio PSNR 2 255 1 log( ) MSE پاسخبرپایهی dbاست بهصورتکلیاگرهرپيکسلرابا B بيتبتوان نشانداد فرمولمذکوربهصورتزیرتغيير مینماید PSNR B 2 (2 1) 1 log( ) MSE 46
آیا PSNRمعيارخوبیاست MSE=1.6 MSE=48.82 47
PSNR=22.78 PSNR=22.97 48 PSNR=22.87
استاندارهایجدید 49
استاندارهایجدید The blocking, color banding and aliasing artifacts of heavily compressed JPEG (left), while the heavily compressed BPG (right) looks much smoother 5